A business function may require two or more computer systems or applications to operate in a complementary manner. A test engineer may, for example, attempt to document that a product has satisfied all relevant regulatory mandates by using a requirements-management application that stores and organizes the requirements and specifications that must be met by a compliant product.
In order to perform this task, the requirements tool need access to test data that documents procedures and results of product testing that had been performed to confirm the product's compliance. If this test data is maintained by a separate suite of testing tools, the requirements tool cannot complete its operation or fully serve its user until it has established connections to the test data.
In a real-world implementation that may comprise enormous numbers of requirements, regulatory constraints, test cases, and product specifications, this inter-application linkage may become a productivity bottleneck. A user that launches the requirements tool may have to wait an extended period of time before the tool is able to identify and access auxiliary test data from what may be a large number of remote applications, databases, or other types of information repositories.
One solution is to use a synchronization mechanism that copies data from one tool to another, thus allowing, for example, a requirements tool to have direct access to test cases. This approach, however, is resource-intensive, requiring redundant storage of large repositories of data and frequent transfer of that data in order to ensure that the repositories remain synchronized.